Selection to UPPER CASE - a PageSpinner AppleScript ツゥ Jerry テ⒃an, Optima System 1997.
You can add characters to upperTable and a matching entry in the same position in lowerTable to localize it to handle language specific characters. This script does not handle the special characters with ASCII code > 127, see the script Selection to lower case to see how to modify the script to handle high-ASCII characters.